有 Java 编程相关的问题?

你可以在下面搜索框中键入要查询的问题!

带压缩的java日志旋转

我们在Linux服务器上部署了非常旧的应用程序。我们正在使用RollingFileAppender,由于磁盘空间问题,它正在删除旧日志

每当我们在应用程序中遇到问题时,大多数日志在磁盘中都不可用。如果我们压缩日志文件,我们可以保留100个日志文件来代替一个未压缩的日志文件

是否有一种方法可以在日志文件填满后压缩文件,并在某个时间点后将其删除。[比如说一周。]

我试过使用DailyRollingFileAppender,但它没有按照我们期望的方式工作

最大日志限制为500。但是应用程序每小时创建200个日志。包含错误消息的实际日志可能对我们不可用。因此,我们计划压缩所有日志文件,并在一周后将其删除


共 (3) 个答案

  1. # 1 楼答案

    我不知道log4j是否支持这一点,但如果你转向logback,你就有这种可能性

    http://logback.qos.ch/

    哈乔

  2. # 2 楼答案

    是的,请检查这个link。它对此表示支持。 将此添加到RollingFileAppender配置中

    <appender...>
        <rollingPolicy class="org.apache.log4j.rolling.TimeBasedRollingPolicy">
          <param name="FileNamePattern" value="/wombat/foo.%d{yyyy-MM}**.gz**"/>
        </rollingPolicy>
    </appender>